考題日期:2015/12/22
題號:11332
星等:1
語言:C++
題目:
題意:
對於所有正整數 n ,我們定義一函數 f(n) 為 n 的每一個十進位數字的總和,若再把 f(n) 代入函數中可得最到 n,f(n),f(f(n)),f(f(f(n)))… 最後得到僅有一位數字的值,並定義該值為 g(n) 。
程式:
#include <iostream>
using namespace std;
int f(int n)
{
int all = 0;
while(n>0)
{
all += (n % 10);
n /= 10;
}
return all;
}
int main()
{
int n;
while(cin>>n && n!=0)
{
while(n>9)
{
n = f(n);
}
cout<<n<<endl;
}
}
測資: